home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 19 / Mac Magazin and MacEasy Magazine CD - Issue 19.iso / Utilities / Rainbow Demo v1.1 / Appendices next >
Text File  |  1996-01-19  |  12KB  |  440 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Appendices
  20. ----------
  21.  
  22.  
  23.  
  24. A - Getting your ROMs/files onto your Mac
  25. -----------------------------------------
  26.  
  27.  
  28. IMPORTANT: Please read these instructions carefully. The author will not accept 
  29. any responsibility for any damage or loss of data resulting from the advice
  30. given here.
  31.  
  32.  
  33. This is done in two steps - creating a disk file of the ROM image and then
  34. transferring over to the Mac.
  35.  
  36.  
  37.  
  38. Step One
  39. --------
  40.  
  41.  
  42. Creating a DOS file of the OS ROM image is simple. If you have a 400 or 800, the
  43. OS ROM is 10K in size. Run the following program
  44.  
  45.  
  46.  
  47.  5 REM CREATE 10K 400/800 ROM FILE - 10240 BYTES
  48.  
  49. 10 OPEN#1,8,0,"D:ROM10K"
  50.  
  51. 20 FOR K=55296 TO 65535 : PUT#1,PEEK(K) : NEXT K
  52.  
  53. 30 CLOSE #1
  54.  
  55.  
  56. which saves the ROM onto disk. For XL machines, run the following. The ROM is 
  57. 16K in size. 
  58.  
  59. NOTE: Only the full shareware version emulates the 800XL.
  60.  
  61.  
  62.  5 REM CREATE 16K XL OS ROM FILE - 16384 BYTES
  63.  
  64. 10 OPEN#1,8,0,"D:ROM16K"
  65.  
  66. 20 FOR K=49152 TO 53247 : PUT#1,PEEK(K) : NEXT K
  67.  
  68. 30 POKE 54017,PEEK(54017)-128
  69.  
  70. 40 FOR K=20480 TO 22527 : PUT#1,PEEK(K) : NEXT K
  71.  
  72. 50 FOR K=55296 TO 65535 : PUT#1,PEEK(K) : NEXT K
  73.  
  74. 60 CLOSE #1
  75.  
  76.  
  77.  
  78. To create an image of BASIC use
  79.  
  80.  
  81.  5 REM CREATE 8K BASIC FILE - 8192 BYTES
  82.  
  83. 10 OPEN#1,8,0,"D:BASIC"
  84.  
  85. 20 FOR K=40960 TO 49151 : PUT#1,PEEK(K) : NEXT K
  86.  
  87. 30 CLOSE #1
  88.  
  89.  
  90.  
  91. Step Two
  92. --------
  93.  
  94.  
  95. That's the easy bit. This step involves transferring the files over to the Mac. 
  96. Luckily the modem port on the Mac is a RS232 port, so you'll need an 850 Interface
  97. Module...
  98.  
  99.  
  100.    [Atari computer] --> [850 Module]  ===== cable =====>  [Mac]
  101.           +
  102.      [Disk drive]
  103.  
  104.  
  105. and a cable. Don't worry, this cable is very easy to make.
  106.  
  107. Below is a diagram of the ports, looking INTO THE BACKS of the Mac and
  108. 850 unit.
  109.  
  110.  
  111.  
  112.       Mac 8 pin mini-modem             Atari 850 9 pin D connector
  113.  
  114.  
  115.          • 8     • 7     • 6                       • 5  • 4  • 3  • 2  • 1
  116.  
  117.         • 5      • 4      • 3                        • 9  • 8  • 7  • 6
  118.  
  119.              • 2     • 1
  120.  
  121.  
  122.      
  123. You only need to make 2 connections...
  124.  
  125.  
  126.      Mac modem                850 port (PORT 1)
  127.      ---------                -----------------
  128.  
  129.       PIN 8 (GND)                  PIN 5 (GND)
  130.       PIN 5 (RECEIVE DATA)         PIN 3 (SEND DATA)
  131.  
  132.  
  133.  
  134. Ideally you should make a cable with a 9-pin D connector, 8 pin mini DIN line plug
  135. and some 2 core electrical cable. But you can probably get away with just using 
  136. 2 pieces of insulated wire (about a metre in length) and pushing the ends 
  137. into the sockets.
  138.  
  139.  
  140. Now to send a file from your Atari 8bit to the Mac. Type in the following program 
  141. in Atari BASIC and save to disk.
  142.  
  143.  
  144. 5 REM XFER - TRANSFER A FILE TO MAC
  145.  
  146. 10 POKE 559,0
  147.  
  148. 20 REM SET UP HEX TABLES FIRST
  149.  
  150. 25 DIM A(256),B(256)
  151.  
  152. 30 FOR K=0 TO 255
  153.  
  154. 40 HI=INT(K/16) 
  155.  
  156. 50 LO=K-HI*16
  157.  
  158. 55 HI=HI+48   :  REM now convert hex to ASCII...
  159. 56 LO=LO+48
  160.  
  161. 60 IF HI>57 THEN HI=HI+7
  162.  
  163. 70 IF LO>57 THEN LO=LO+7
  164.  
  165. 80 A(K+1)=HI
  166.  
  167. 90 B(K+1)=LO
  168.  
  169. 100 NEXT K
  170.  
  171. 110 REM
  172.  
  173. 200 REM NOW SEND THE FILE!
  174.  
  175. 210 OPEN #4,4,0,"D:ROM10K" : REM open file to send
  176.  
  177. 220 OPEN #7,8,0,"R1:"
  178.  
  179. 230 XIO 36,#7,14,0,"R1:"
  180.  
  181. 240 FOR  K=1 TO 10240 : REM send all the bytes in the file
  182.  
  183. 250 GET#4,BYTE
  184.  
  185. 260 PUT#7,A(BYTE+1)
  186.  
  187. 270 PUT#7,B(BYTE+1)
  188.  
  189. 280 NEXT K
  190.  
  191. 290 CLOSE #7
  192.  
  193. 300 CLOSE #4
  194.  
  195. 310 POKE 559,34
  196.  
  197.  
  198.  
  199. Lines 25 to 100 set up hexadecimal character tables for bytes 0 to 255.
  200.  
  201. Line 10 switches off the screen which speeds up transfer by 33%. Line 310 turns
  202. it back on. You may want to leave the screen turned on (i.e. omit line 10) in case
  203. there are any error messages. Once it's working, leave line 10 in.
  204.  
  205. Lines 220 and 230 set up PORT 1 for output to the Mac at a transfer rate of 9600
  206. bits per second (baud rate). A loop then reads the file from disk a byte at 
  207. a time and sends it in hex to the Mac.
  208.  
  209. Lines 210 and 240 are set up above ready to transfer the 10K OS ROM file.
  210.  
  211. BUT DON'T RUN THIS YET!
  212.  
  213. You now need some kind of communications software for your Mac to receive the 
  214. data. My favourite is Zterm which is shareware and widely available.
  215. Set Zterm to 9600 baud rate. Make sure the 'capture' window is clean of
  216. all spurious text. 
  217.  
  218.  
  219. NOW REBOOT YOUR ATARI AND RUN THE TRANSFER PROGRAM.
  220.  
  221.  
  222. Your DOS boot-up disk must contain the AUTORUN.SYS file which loads up
  223. the RS232 handler code. This file is created using SETUP.COM which comes
  224. with Atari DOS 2 or later. Without the RS232 handler booted, the XFER program
  225. will return an error code 130 at line 220. All being well, you should hear a
  226. high pitched squeal just before getting the READY prompt.
  227.  
  228. On running XFER, you should see the bytes displayed in the capture window in hex. 
  229. The complete transfer will take some minutes. When finished, select entire text 
  230. and save the selection with the name UNHEX.IN and place the file in the same 
  231. folder as the UNHEX application.
  232.  
  233. Finally launch UNHEX. This application reads UNHEX.IN and creates the binary
  234. file UNHEX.OUT, stripping any carriage returns (byte = 13) in UNHEX.IN. (These
  235. carriage returns are added by Zterm, not the RS232 handler.)
  236.  
  237. Pay attention to the number of bytes unhexed... it should EXACTLY MATCH THE
  238. NUMBER SENT (see line 240 above). If not, repeat the entire process (quit Zterm 
  239. and re-boot your Atari just to be sure).
  240.  
  241. If the transfer is unreliable too often, try dropping the baud rate to 4800 in
  242. Zterm and change the 14 in line 230 to 13.
  243.  
  244. If it's the 400/800 OS, rename UNHEX.OUT as OP_SYSTEM. All being well, you 
  245. can launch Rainbow and get the blue 'Memo Pad' screen up.
  246.  
  247.  
  248. Hooray!
  249.  
  250.  
  251. Advertisement: The full shareware version comes with an application
  252. called TinyTerm. Using this you will be able to transfer whole disk
  253. images from your 8bit to the Mac in under 5 minutes. You will still
  254. need the 850 interface module and cable.
  255.  
  256.  
  257.  
  258. B - Rainbow technical details
  259. -----------------------------
  260.  
  261.  
  262. For those who like to revel in technical specs, here's the list for Rainbow.
  263.  
  264. Hardware:
  265.  
  266.   • NMOS 6502 processor 
  267.   • Accepts 400/800 and 800XL OS 
  268.   • 48K RAM for 400/800 machines; full 64K RAM for 800XL
  269.   • NMI and IRQ interrupt emulation
  270.   • 8K and 16K cartridge support
  271.   • 16K Super Cartridge support
  272.   • Low level SIO emulation allows access to virtual disk images
  273.   • Supports single and enhanced density images and ATR images
  274.   • Disk drives D1: and D2: available
  275.   • Import/export files to and from your Mac hard disk
  276.   • Full keyboard
  277.  
  278. Graphics:
  279.  
  280.   • 256 Atari colours
  281.   • Complete playfield generation (ANTIC modes 2 to 15)
  282.   • Narrow, Normal and Wide playfields
  283.   • GTIA support giving 3 extra colour modes
  284.   • Colour artefacting in GRAPHICS 8
  285.   • Display List Interrupts  
  286.   • Player/Missile Graphics
  287.   • Full Player/Missile/Playfield collision detection
  288.   • Player/Missile priorities (mutually exclusive and non-exclusive)
  289.   • Fine scrolling
  290.   • PAL/NTSC screen option
  291.  
  292. Others:
  293.  
  294.   • POKEY timers 1, 2 and 4
  295.   • Sound with 4 channels of pure tones and improvised noise
  296.   • Four joysticks support using keypad
  297.   • Four paddles support using mouse  
  298.  
  299.  
  300.  
  301. Rainbow is coded entirely in C and developed with Symantec's Think C 6.0.
  302.  
  303. Latest versions are compiled with Metrowerk's CodeWarrior 5.
  304.  
  305.  
  306.  
  307. C - Why won't this game work???
  308. -------------------------------
  309.  
  310.  
  311. Okay, you've tried everything and your favourite game still won't run properly.
  312. Go through the following checklist.
  313.  
  314.   - Try the game with and without BASIC inserted. On the XL, keep the OPTION
  315.     key (Shift and num lock on the Mac) pressed to disable BASIC when re-booting.
  316.  
  317.   - Does it need an XL machine?
  318.  
  319.   - Does it need the very old 'A' version of the 400/800 OS? Some software did
  320.     do naughty things like jumping in and out of OS routines when they should 
  321.     have used vectors.
  322.  
  323.   - If you're trying to run a BINARY FILE, then the loader/DOS you use may affect
  324.     it. Some games I've tried simply won't run using the L option in Atari 
  325.     DOS 2.5 but do run successfully on another e.g. SmartDOS. The best loaders 
  326.     are the tiny ones which take only a second to boot up. Experiment and see 
  327.     which work best for you.
  328.  
  329.   - Some games may need the 'Every' frame option to work properly or for the
  330.     graphics to behave and look right.
  331.  
  332.   - Are you sure your file or disk image is not corrupted?
  333.  
  334.   - Turn 'Cheat Mode' off.
  335.  
  336.   - Have you got the correct joystick/paddle active?
  337.  
  338.   - If the screen seems unstable, try checking the the 'PAL' option under 
  339.     'TV' menu.
  340.  
  341.  
  342. If all this fails, then it's down to the limitations of the emulator. Although 
  343. Rainbow is a very good emulator, at the end of the day, it's just that... an 
  344. approximation of the real thing. 
  345.  
  346. Some games may include illegal (or undocumented) 6502 machine code instructions
  347. to protect the code against hackers. Since they are undocumented, their 
  348. behaviour is not well known but a good attempt has been made to include all of
  349. them in Rainbow, the information coming from a number of sources (with inevitable
  350. contradictions...). This is just another possible reason why some games won't
  351. run properly.
  352.  
  353.  
  354. However, stuff which works fine include Star Raiders, Gemstone Warrior, Joust, 
  355. Video Easel, Karateka, Jr Pacman, Sea Wolf 2, Zaxxon, Gumball, JaggiLines, 
  356. Donkey Kong Jr, Montezuma's Revenge, Pengo, Centipede, Tapper, Defender,
  357. Necromancer, Miner 2049er, Drol, DropZone, F15 Strike Eagle, Electrician,
  358. SmartDOS, Eastern Front, Gauntlet, Kaboom, AtariWriter, Music Composer,
  359. Donkey Kong, Mac/65, Action, World Karate, Pole Position 2, Super Cobra, 
  360. Jumpman and many more.
  361.  
  362.  
  363.  
  364. D - The 'Atari computer crash' alert box
  365. ----------------------------------------
  366.  
  367.  
  368. Now and again, you will encounter this alert box. Although it looks horribly
  369. ominous, it's nothing to get worried about and no damage is done to Rainbow 
  370. or your Mac.
  371.  
  372. It means the CPU has just executed an illegal opcode which is known to freeze 
  373. the machine. So rather than let the emulator just sit there and do nothing, 
  374. it informs you of this.
  375.  
  376. The only way out of such a crash is to switch the emulator off and on, i.e.
  377. re-boot. 
  378.  
  379. If you hold the Control key down on the re-boot, the cartridge is removed and
  380. drive#1 turned off. This is useful to get out of a continual crash sequence,
  381. e.g. bad boot disk.
  382.  
  383. Pressing SYSTEM RESET to get out of a game can often result in a 'crash' 
  384. and is nothing to worry about. Pity Rainbow can't recreate some of those 
  385. spectacular graphics when a real 8 bit crashes... I used to sit there for hours
  386. engrossed in crashing the machine just to see the pretty colours.
  387.  
  388. Ahem...
  389.  
  390.  
  391.  
  392. E - Rainbow icons
  393. ----------------
  394.  
  395.  
  396. Use ResEdit to get your existing files to display the colourful Rainbow icons.
  397. The creator code is 'RBOW' and useful types are 'DSKS', 'DSKE' and 'CART'. Leave
  398. the 'Inited' box unchecked on exit. The required icon should appear immediately on
  399. the Desktop (if it was generic before). Else you may have to re-build the desktop.
  400.  
  401. There are two extra icons, one for the folder and one for your OS file. If these
  402. appear as generic folder icons, you can get these back using ResEdit. Just choose
  403. 'Get Info' option and check the custom icon box.
  404.  
  405.  
  406.  
  407. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  408.  
  409.  
  410.  
  411. Roll credits...
  412. ---------------
  413.  
  414.  
  415. Many thanks to Barry Cantin for additional testing, encouragement, advice,
  416. coffee and chicory, hot sauce and just for being one cool guy. Cheers, Barry!
  417.  
  418. Thanks also to David Firth for help and advice; Bill Kendrick for help with 
  419. the icons and testing; and Bertrand Le Roy for his kind permission to include
  420. the F.R.E.E. demo.
  421.  
  422. Thanks to Marcus Phillips for bringing to my attention some problems with 
  423. the sound which were eliminated in version 1.1.
  424.  
  425. We wish to state formally that Rainbow has no affiliation with the heavy 
  426. metal band also called Rainbow (ex-Deep Purple and who did 'Since you've been gone') 
  427. nor any connection whatsoever with a children's TV programme here in 
  428. the U.K. under the same name of Rainbow (which featured Geoffrey, Bungle, George 
  429. and Zippy, whose mouth was a zip which you could zip up). Or D.H. Lawrence. 
  430. Our lawyers have been briefed.
  431.  
  432. Rainbow v1.1 (C) Chris Lam 1995/6.
  433.  
  434. Made in Birmingham, England. 
  435.  
  436.  
  437. Bye for now and good luck with Rainbow!
  438.  
  439.  
  440.